<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>value_stack::value_stack (2 of 2 overloads)</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../../../index.html" title="Chapter 1. Boost.JSON">
<link rel="up" href="../value_stack.html" title="value_stack::value_stack">
<link rel="prev" href="overload1.html" title="value_stack::value_stack (1 of 2 overloads)">
<link rel="next" href="../operator_eq_.html" title="value_stack::operator=">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="overload1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_stack.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h6 class="title">
<a name="json.ref.boost__json__value_stack.value_stack.overload2"></a><a class="link" href="overload2.html" title="value_stack::value_stack (2 of 2 overloads)">value_stack::value_stack
          (2 of 2 overloads)</a>
</h6></div></div></div>
<p>
            Constructor.
          </p>
<h7><a name="json.ref.boost__json__value_stack.value_stack.overload2.h0"></a>
            <span class="phrase"><a name="json.ref.boost__json__value_stack.value_stack.overload2.synopsis"></a></span><a class="link" href="overload2.html#json.ref.boost__json__value_stack.value_stack.overload2.synopsis">Synopsis</a>
          </h7><pre class="programlisting"><span class="identifier">value_stack</span><span class="special">(</span>
    <span class="identifier">storage_ptr</span> <span class="identifier">sp</span> <span class="special">=</span> <span class="special">{},</span>
    <span class="keyword">unsigned</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">temp_buffer</span> <span class="special">=</span> <span class="keyword">nullptr</span><span class="special">,</span>
    <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">temp_size</span> <span class="special">=</span> <span class="number">0</span><span class="special">);</span>
</pre>
<h7><a name="json.ref.boost__json__value_stack.value_stack.overload2.h1"></a>
            <span class="phrase"><a name="json.ref.boost__json__value_stack.value_stack.overload2.description"></a></span><a class="link" href="overload2.html#json.ref.boost__json__value_stack.value_stack.overload2.description">Description</a>
          </h7><p>
            Constructs an empty stack. Before any <a class="link" href="../../boost__json__value.html" title="value"><code class="computeroutput"><span class="identifier">value</span></code></a> can be built, the function
            <a class="link" href="../reset.html" title="value_stack::reset"><code class="computeroutput"><span class="identifier">reset</span></code></a> must be called. The <code class="computeroutput"><span class="identifier">sp</span></code> parameter is only used to allocate
            intermediate storage; it will not be used for the <a class="link" href="../../boost__json__value.html" title="value"><code class="computeroutput"><span class="identifier">value</span></code></a> returned by <a class="link" href="../release.html" title="value_stack::release"><code class="computeroutput"><span class="identifier">release</span></code></a>.
          </p>
<h7><a name="json.ref.boost__json__value_stack.value_stack.overload2.h2"></a>
            <span class="phrase"><a name="json.ref.boost__json__value_stack.value_stack.overload2.parameters"></a></span><a class="link" href="overload2.html#json.ref.boost__json__value_stack.value_stack.overload2.parameters">Parameters</a>
          </h7><div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                    <p>
                      Name
                    </p>
                  </th>
<th>
                    <p>
                      Description
                    </p>
                  </th>
</tr></thead>
<tbody>
<tr>
<td>
                    <p>
                      <code class="computeroutput"><span class="identifier">sp</span></code>
                    </p>
                  </td>
<td>
                    <p>
                      A pointer to the <a class="link" href="../../boost__json__memory_resource.html" title="memory_resource"><code class="computeroutput"><span class="identifier">memory_resource</span></code></a> to
                      use for intermediate storage allocations. If this argument
                      is omitted, the default memory resource is used.
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      <code class="computeroutput"><span class="identifier">temp_buffer</span></code>
                    </p>
                  </td>
<td>
                    <p>
                      A pointer to a caller-owned buffer which will be used to store
                      temporary data used while building the value. If this pointer
                      is null, the builder will use the storage pointer to allocate
                      temporary data.
                    </p>
                  </td>
</tr>
<tr>
<td>
                    <p>
                      <code class="computeroutput"><span class="identifier">temp_size</span></code>
                    </p>
                  </td>
<td>
                    <p>
                      The number of valid bytes of storage pointed to by <code class="computeroutput"><span class="identifier">temp_buffer</span></code>.
                    </p>
                  </td>
</tr>
</tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2019, 2020 Vinnie Falco<br>Copyright © 2020 Krystian Stasiowski<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="overload1.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_stack.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../operator_eq_.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
